/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo;

import java.io.Serializable;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

/**
 *
 * @author Carlos Jose Mendoza
 */
public class Conexion  implements Serializable{
    
    SessionFactory sesionFactory = null;
    Session sesion = null;
    Transaction transacion = null;
    public Session getSession() {
        try {
        sesionFactory = NewHibernateUtil.getSessionFactory();
        sesion = sesionFactory.openSession();
        transacion = sesion.beginTransaction();
        } catch (Exception ex){
         throw new RuntimeException("Error en la Conexion");   
        }
       return sesion;
    }
    
    public void cerrarSesion(){
         transacion.commit();
        sesion.close();
    }
    
    public void registroJdbc(String nombre, String primerApellido, String segundoApellido, String sexo,
            String fechaNacimiento, String calle, String barrio, String manzana, String ciudad, String numeroIdentificacion) {
            try {
                Class.forName("oracle.jdbc.OracleDriver");
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(Conexion.class.getName()).log(Level.SEVERE, null, ex);
            }
            String USER ="hojavida2";
            String PASSWORD="proyecto";
            String URL="jdbc:oracle:thin:@localhost:1521:orcl";
            
 String sql ="INSERT INTO aspirantes (codigoAspirante, nombre, primerApellido, segundoApellido, sexo, fechaNacimiento, calle, barrio, manzana, ciudad, numeroIdentificacionAspirante ) values (incremento_id_aspirante.nextVal,"
   + " '"+nombre+"', '"+primerApellido+"', '"+segundoApellido+"', '"+sexo+"', '"+fechaNacimiento+"', '"+calle+"', '"+barrio+"', '"+manzana+"', '"+ciudad+"', '"+numeroIdentificacion+"')";
            
            try {
              Connection co = DriverManager.getConnection(URL, USER,PASSWORD );
            Statement estamento = co.createStatement();
            PreparedStatement preEsta = co.prepareStatement(sql);
            preEsta.execute();
            preEsta.close();
            estamento.close();
            co.close();
            System.out.println("Registro Exitoso");
        } catch (SQLException ex) {
                     throw new RuntimeException("Erro "+ex.getMessage());
        }
}
}
